package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.TrainingBase;

/**
 * 临床培训基地Service接口
 * 
 * @author dp
 * @date 2023-11-27
 */
public interface ITrainingBaseService 
{
    /**
     * 查询临床培训基地
     * 
     * @param baseId 临床培训基地主键
     * @return 临床培训基地
     */
    public TrainingBase selectTrainingBaseByBaseId(Long baseId);

    /**
     * 查询临床培训基地列表
     * 
     * @param trainingBase 临床培训基地
     * @return 临床培训基地集合
     */
    public List<TrainingBase> selectTrainingBaseList(TrainingBase trainingBase);

    /**
     * 新增临床培训基地
     * 
     * @param trainingBase 临床培训基地
     * @return 结果
     */
    public int insertTrainingBase(TrainingBase trainingBase);

    /**
     * 修改临床培训基地
     * 
     * @param trainingBase 临床培训基地
     * @return 结果
     */
    public int updateTrainingBase(TrainingBase trainingBase);

    /**
     * 批量删除临床培训基地
     * 
     * @param baseIds 需要删除的临床培训基地主键集合
     * @return 结果
     */
    public int deleteTrainingBaseByBaseIds(Long[] baseIds);

    /**
     * 删除临床培训基地信息
     * 
     * @param baseId 临床培训基地主键
     * @return 结果
     */
    public int deleteTrainingBaseByBaseId(Long baseId);

    /**
     * 实体数据补全
     *
     * @param trainingBase 实体
     * @param userId       用户id
     * @param crateType    创建类型 1：新增 2：修改
     */
    public void completeData(TrainingBase trainingBase, Long userId, Integer crateType);
}
